package sample.context;

import sample.pojo.User;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;

/**
 * @author ：five03
 * @description：TODO
 * @date ：2020/8/12 4:43 下午
 */
public class Context {
    public static User NOWCHATING;                  // 当前聊天用户
    public static HashMap<String, User> USERS;      // 好友列表

    static {
        USERS = new HashMap<>();

        // 添加陌生人
        User stranger = new User("群聊", ContextValues.strangerIP);
        stranger.saveChattingRecord("========== 群聊消息 ==========");
        addUser(stranger);

        // 初始化当前聊天用户为自己
        NOWCHATING = stranger;
    }

    // 添加用户
    public static void addUser(User user) {
        USERS.put(user.getIP(), user);
    }

    // 通过用户名获取用户对象
    public static User getUser(String username) {
        if (username == null) return null;
        for (User user : USERS.values()) {
            if (username.equals(user.getUsername()))
                return user;
        }
        return null;
    }

    public static String getName(String IP) {
        User user = USERS.get(IP);
        if (user == null) return "陌生人";
        return user.getUsername();
    }


    // 获取用户列表
    public static ArrayList<String> getUsers() {
        ArrayList<String> arrayList = new ArrayList<>();
        for (User user : USERS.values()) {
            arrayList.add(user.getUsername());
        }
        return arrayList;
    }

    // 获取时间
    public static String getDate() {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
        Date date = new Date(System.currentTimeMillis());
        return formatter.format(date);
    }
}
